Referring to FIG. 1, older data access and analysis systems were generally built as large application programs where most, if not all, system capabilities were tightly coupled within the application. Having one large application can be difficult and costly to maintain. Changes to a single capability within the application can have a ripple effect throughout the source code requiring extensive changes to other areas of the application. Repeated modification to the application can result in a system that is so large and complex that enhancements become too cost prohibitive to implement. Such large data access analysis systems have typically been built as a result of analysis that failed to identify an existing infrastructure that met the needs of future collaborative systems. To summarize, with present data access and analysis systems, tools are generally restricted to a specific data source, there is difficulty in analyzing data from various sources, the systems are costly to enhance, and there is an inability to collaborate on multiple data sources at the same time to solve a problem.